layui.define(['layer', 'form','table','jquery'], function(exports){
  var $ = layui.$,
      layer = layui.layer,
      table = layui.table;

  //第一个实例
  var tableIns=  table.render({
    id:'dicId',
    elem: '#table'
    ,url: '/admin/sysDic/page' //数据接口
    ,page: true //开启分页
    ,cols: [[ //表头
      {field: 'code', align:"center", title: '编码',width:80}
      ,{field: 'text', align:"center", title: '名称',width:160}
      ,{field: 'type', align:"center", title: '类型',width:180}
      ,{field: 'sortNo', align:"center", title: '顺序',width:80}
      ,{field: 'remark', align:"center", title: '描述',width:240}
      ,{field: 'enableName', align:"center", title: '状态',width:100}
      ,{title: '操作', align:'center', toolbar: '#barDemo'}
    ]],
    request: {
      pageName: 'page' //页码的参数名称，默认：page
      ,limitName: 'size' //每页数据量的参数名，默认：limit
    }
  });

  $("#btn-query").click(function () {
    var type = $('input[name="type"]').val();
    if(type==''){
      return false;
    }
    tableIns.reload({
      where: {
        type:type,
      }
      ,page: {
        curr: 1 //重新从第 1 页开始
      }
    });
  });

  $("#btn-add").click(function () {
    layer.open({
      type: 2,
      title: "新增数据字典",
      shadeClose: true,
      shade: 0.8,
      area: ['620px', '600px'],
      fix: false,
      maxmin: true,
      content: '/admin/dic/add',
      end:function () {
        table.reload('dicId',{});
      }

    })
  })

  //监听工具条
  table.on('tool(table)', function(obj){ //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
    var data = obj.data; //获得当前行数据
    var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）

    if(layEvent === 'edit'){ //编辑
      //do something
      layer.open({
        type: 2,
        title: "编辑数据字典",
        shadeClose: true,
        shade: 0.8,
        area: ['620px', '600px'],
        fix: false,
        maxmin: true,
        content: '/admin/dic/add?id='+data.id,
        end:function () {
          table.reload('dicId',{});
        }

      })
    }
  });
  exports('sysdic', {}); //注意，这里是模块输出的核心，模块名必须和use时的模块名一致
});